package com.macro.mall.tiny.service.Impl;

import com.github.pagehelper.PageHelper;
import com.macro.mall.tiny.dao.PmsProductAttributeCategoryDao;
import com.macro.mall.tiny.mbg.mapper.PmsProductAttributeCategoryMapper;
import com.macro.mall.tiny.mbg.model.PmsProductAttributeCategory;
import com.macro.mall.tiny.mbg.model.PmsProductAttributeCategoryExample;
import com.macro.mall.tiny.service.PmsProductAttributeCategoryService;
import com.macro.mall.tiny.vo.ProductAttributeCategoryVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@Slf4j
public class PmsProductAttributeCategoryServiceImpl implements PmsProductAttributeCategoryService {

    @Autowired
    private PmsProductAttributeCategoryMapper pmsProductAttributeCategoryMapper;
    @Autowired
    private PmsProductAttributeCategoryDao pmsProductAttributeCategoryDao;

    //添加商品属性分类
//    @Override
    public Integer create(String name) {
        PmsProductAttributeCategory pmsProductAttributeCategory=new PmsProductAttributeCategory();
        pmsProductAttributeCategory.setName(name);
        Integer code=pmsProductAttributeCategoryMapper.insertSelective(pmsProductAttributeCategory);

        return code;
    }

    //修改商品属性分类
//    @Override
    public Integer update(String name, Long id) {
        PmsProductAttributeCategory pmsProductAttributeCategory=new PmsProductAttributeCategory();
        pmsProductAttributeCategory.setId(id);
        pmsProductAttributeCategory.setName(name);
        Integer code=pmsProductAttributeCategoryMapper.updateByPrimaryKeySelective(pmsProductAttributeCategory);

        return code;
    }

    //修改单个属性分类
    public Integer deleteById(Long id){
        Integer code=pmsProductAttributeCategoryMapper.deleteByPrimaryKey(id);
        return code;
    }

    //获取单个属性分类信息
    public PmsProductAttributeCategory getById(Long id){
        PmsProductAttributeCategory  pmsProductAttributeCategory=pmsProductAttributeCategoryMapper.selectByPrimaryKey(id);
        return pmsProductAttributeCategory;
    }

    //分页获取所有商品属性分类
    public List<PmsProductAttributeCategory> getByIdList(Integer pageNum,Integer pageSize){
        PageHelper.startPage(pageNum,pageSize);
        PmsProductAttributeCategoryExample example=new PmsProductAttributeCategoryExample();
        example.setOrderByClause("id asc");
        List<PmsProductAttributeCategory>pmsProductAttributeCategoryList=pmsProductAttributeCategoryMapper.selectByExample(example);
        return pmsProductAttributeCategoryList;

    }

    //获取所有商品属性分类及其下属性
//    @Override
    public List<ProductAttributeCategoryVO> getListWithAttr() {

        return pmsProductAttributeCategoryDao.getListWithAttr();
    }

}
